package com.itheima.service.mongo;

import com.itheima.domain.mongo.Movement;
import com.itheima.vo.PageBeanVo;
import org.bson.types.ObjectId;

public interface MovementService {

    // 发布动态
    void saveMovement(Movement movement);

    // 查看我的动态
    PageBeanVo findMyMovementByPage(Long userId, Integer pageNum, Integer pageSize);

    // 查看好友动态
    PageBeanVo findFriendMovementByPage(Long userId, Integer pageNum, Integer pageSize);

    // 查询推荐动态
    PageBeanVo findRecommendMovementByPage(Long userId, Integer pageNum, Integer pageSize);

    // 根据id查询动态详情
    Movement findMovementById(ObjectId id);

    // 查询指定用户id或状态的动态分页
    PageBeanVo findMovementByUserIdAndState(Long userId, Integer state, Integer pageNum, Integer pageSize);

    // 更新审核状态
    void updateMovement(Movement movement);
}
